package com.smedi.ismedi.personnel.core.domain.repository;

import com.smedi.ismedi.personnel.core.domain.aggregatemodel.Assignment;
import java.util.List;
import java.util.Map;

/**
 * @Author: xulinjun
 * @Date: 2021-6-8 10:55
 */
public interface AssignmentRepository  {
    Assignment selectByAssignmentId(Long assignmentId);

    Assignment doInsert(Assignment data);

    Assignment doUpdate(Assignment data);

    int selectAssignmentCountByHrOrganizationId(Long hrOrganizationId);

    Assignment selectByPersonIdAndHrOrganizationId(Long personId, Long hrOrganizationId);

    String selectPyPersonIdAndHrOrganizationIds(Long personId, List<Long> hrOrganizationIds);

    List<Assignment> selectByPersonId(Long personId);

    List<Assignment> selectByPersonIdsSkipSql(List<Long> personIds);

    List<Assignment> selectByPersonIdSkipSql(Long personId);

    void doDeleteByPersonId(Long personId);

    List<Assignment> selectByHrOrganizationId(Long hrOrganizationId);

    List<Assignment> selectByHrOrganizationIdSkipSql(Long hrOrganizationId);
}
